package com.lianniu.mgr.baseService.lastLoginSysinfo.controller;

import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.beans.factory.annotation.Autowired;
import com.lianniu.mgr.base.BaseResult;
import com.lianniu.mgr.baseService.lastLoginSysinfo.model.LastLoginSysInfoVo;
import com.lianniu.mgr.baseService.lastLoginSysinfo.service.ILastLoginSysInfoService;
import com.lianniu.mgr.baseService.sysInfo.model.SysInfoVo;
import com.lianniu.mgr.baseService.sysInfo.service.ISysInfoService;

/**
 * 用户登录系统记载

 *
 */
@Controller
@RequestMapping("/rest/last/login")
public class LastLoginSysInfoRestContrller {
	private final static Logger logger = Logger.getLogger(LastLoginSysInfoRestContrller.class);
	
	  @Autowired
	  ILastLoginSysInfoService lastLoginSysInfoService;
	  
	  @Autowired
	  ISysInfoService sysInfoService;
	  
	 @RequestMapping(value = {"/select"}, method = RequestMethod.GET)
	  public @ResponseBody BaseResult lastLoginSysInfoSel(HttpServletRequest request) {
		 logger.info("LastLoginSysInfoRestContrller lastLoginSysInfoSel begin.");
		 String staffId = request.getParameter("staffId");
		 logger.info("LastLoginSysInfoRestContrller param =="+staffId);
		 
		 logger.info("lastLoginSysInfoService  select begin. ");
		  BaseResult  baseResult  =lastLoginSysInfoService.selectLastLoginSysInfoByStaffId(staffId);
		  logger.info("lastLoginSysInfoService select end. ");
		  List list=(List)baseResult.getData();
		  //为0  代表没有找到该当前用户
		  if(list.size()==0){
			  SysInfoVo sysInfoVo = new SysInfoVo();
			  BaseResult  baseResult1 = sysInfoService.getSysInfoByNum(sysInfoVo);
			  List<SysInfoVo> voList =(List)baseResult1.getData();
			  sysInfoVo = voList.get(0);
			  String  sysinfoId = sysInfoVo.getId();
			  LastLoginSysInfoVo lastLoginSysInfoVo = new LastLoginSysInfoVo();
			  String id = UUID.randomUUID().toString();
			  lastLoginSysInfoVo.setId(id);
			  lastLoginSysInfoVo.setStaffId(staffId);
			  lastLoginSysInfoVo.setSysinfoId(sysinfoId);
			  logger.info("lastLoginSysInfoService  insert begin. ");
			  lastLoginSysInfoService.insertLastLoginSysInfo(lastLoginSysInfoVo);
			  logger.info("lastLoginSysInfoService  insert end. ");
			  logger.info("LastLoginSysInfoRestContrller lastLoginSysInfoSel end.");
			  return BaseResult.success(lastLoginSysInfoVo);
		  }else{
			  LastLoginSysInfoVo vo= (LastLoginSysInfoVo)list.get(0);
			  logger.info("LastLoginSysInfoRestContrller lastLoginSysInfoSel end.");
			  return BaseResult.success(vo);
		  }
		  
	  }
	 
	 
	 @RequestMapping(value = {"/update"}, method = RequestMethod.GET)
	  public @ResponseBody BaseResult lastLoginSysInfoUpd(HttpServletRequest request) {
		 logger.info("LastLoginSysInfoRestContrller lastLoginSysInfoUpd begin.");
		 
		  String staffId =  request.getParameter("staffId");
		  String sysinfoId = request.getParameter("sysinfoId");
		  
		  logger.info("LastLoginSysInfoRestContrller Upd  param =="+staffId + " , "+sysinfoId);
		  LastLoginSysInfoVo lastLoginSysInfoVo = new LastLoginSysInfoVo();
		  lastLoginSysInfoVo.setStaffId(staffId);
		  lastLoginSysInfoVo.setSysinfoId(sysinfoId);
		  
		  logger.info("lastLoginSysInfoService  update begin. ");
		  BaseResult  baseResult  = lastLoginSysInfoService.updateLastLoginSyBySysinfoId(lastLoginSysInfoVo);
		  logger.info("lastLoginSysInfoService  update end. ");
		  
		  logger.info("LastLoginSysInfoRestContrller lastLoginSysInfoUpd end.");
		  return baseResult;
	  }
}
